﻿using System;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Runtime.InteropServices;

namespace UtilTools.Structs
{
    /// <summary>
    /// 设备信息
    /// </summary>
    public struct BOARD_INFO
    {
        /// <summary>
        /// 【0x012d】硬件版本，V1.2d
        /// </summary>
        public UInt16 hw_Version;
        /// <summary>
        /// 【0x0103】固件版本，v1.03
        /// </summary>
        public UInt16 fw_Version;
        /// <summary>
        /// 【0x0100】驱动版本，v1.00
        /// </summary>
        public UInt16 dr_Version;
        /// <summary>
        /// 【0x0101】接口版本，v1.01
        /// </summary>
        public UInt16 in_Version;
        /// <summary>
        /// 【0x00】  保留参数。
        /// </summary>
        public UInt16 irq_Num;
        /// <summary>
        /// 【0x32】  支持CAN通道数50。
        /// </summary>
        public Byte can_Num;
        /// <summary>
        /// 板卡序列号。【GC231006274】
        /// </summary>
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
        public Char[] str_Serial_Num;
        /// <summary>
        /// 设备名称【USB31】USB3.1
        /// </summary>
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 40)]
        public Char[] str_hw_Type;
        /// <summary>
        /// 保留
        /// </summary>
        [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
        public UInt16[] Reserved;
    }
}
